﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Telerik.WinControls;

namespace Sistema_de_Patrimonio.SDP_UI.Dependencias
{
    public partial class Dependencias_Inicio : Telerik.WinControls.UI.RadForm
    {
        public Dependencias_Inicio()
        {
            InitializeComponent();
        }

        private void Dependencias_Inicio_Load(object sender, EventArgs e)
        {
            SDP_DAL.Dependencia_DAL Cargar = new SDP_DAL.Dependencia_DAL();
            LstDependencias.DisplayMember = "Dependencia".Trim();
            LstDependencias.ValueMember = "ID";
            LstDependencias.DataSource = Cargar.DependenciaLoadCmbox().Tables[0];
        }

        public DataTable ResponsablesTemporal;

        private DataTable CrearTabla()
        {
            DataTable ResponsablesTMP = new DataTable();

            DataColumn Responsable_Nombre;
            DataColumn Responsable_Dependencia;

            Responsable_Nombre = new DataColumn();
            Responsable_Nombre.DataType = Type.GetType("System.String");
            Responsable_Nombre.ColumnName = "Nombre";
            ResponsablesTMP.Columns.Add(Responsable_Nombre);

            Responsable_Dependencia = new DataColumn();
            Responsable_Dependencia.DataType = Type.GetType("System.UInt32");
            Responsable_Dependencia.ColumnName = "Dependencia";
            ResponsablesTMP.Columns.Add(Responsable_Dependencia);

            return ResponsablesTMP;
        }

        private DataTable AgregarArticulo()
        {
            DataRow Fila = ResponsablesTemporal.NewRow();
            Fila["Nombre"] = "" ;//MSGBOX.Text.Trim();
            Fila["Dependencia"] = LstDependencias.Text.Trim();
            ResponsablesTemporal.Rows.Add(Fila);
            return (ResponsablesTemporal);
        }

        private void BtnDependenciasCancelar_Click(object sender, EventArgs e)
        {
            
            this.Close();
        }

        private void LstDependencias_SelectedValueChanged(object sender, EventArgs e)
        {
            SDP_DAL.Dependencia_DAL Responsables = new SDP_DAL.Dependencia_DAL();
            GvwDependenciasResponsable.DataSource = Responsables.ResponsablesLoad(Convert.ToUInt32(LstDependencias.SelectedValue));
            GvwDependenciasResponsable.DataMember = Responsables.ResponsablesLoad(Convert.ToUInt32(LstDependencias.SelectedValue)).Tables[0].TableName;
            GvwDependenciasResponsable.Columns[1].IsVisible = false;
            GvwDependenciasResponsable.Refresh();
        }

        private void BtnDependenciasResponsableEliminar_Click(object sender, EventArgs e)
        {
            DialogResult respuesta;
            respuesta = MessageBox.Show("¿Seguro que desea eliminar el Responsable Seleccionado?\n", "Eliminar ...", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (respuesta == DialogResult.Yes)
            {
                if (Convert.ToUInt32(GvwDependenciasResponsable.SelectedRows[0].Cells[1].Value) > 0)
                {
                    SDP_DAL.Dependencia_DAL Responsable = new SDP_DAL.Dependencia_DAL();
                    Responsable.EliminarResponsable(Convert.ToUInt32(GvwDependenciasResponsable.SelectedRows[0].Cells[1].Value));
                    LstDependencias_SelectedValueChanged(sender, e); // PARA ACTUALIZAR EL GRID
                    LstDependencias.Refresh();
                }
            }
        }

        private void BtnDependenciasEliminar_Click(object sender, EventArgs e)
        {
            DialogResult respuesta;
            respuesta = MessageBox.Show("¿Seguro que desea eliminar la Dependencia Seleccionada?\n", "Eliminar ...", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (respuesta == DialogResult.Yes)
            {
                SDP_DAL.Dependencia_DAL Eliminar = new SDP_DAL.Dependencia_DAL();
                Eliminar.EliminarDependencia(Convert.ToUInt32(LstDependencias.SelectedValue));
                Dependencias_Inicio_Load(sender, e);
            }
        }

        private void BtnDependenciasAgregar_Click(object sender, EventArgs e)
        {
            SDP_UI.Dependencias.Dependencia_Agregar Dependencia = new SDP_UI.Dependencias.Dependencia_Agregar();
            Dependencia.Show();
            this.Close();
        }

        private void BtnDependenciasModificar_Click(object sender, EventArgs e)
        {
            SDP_UI.Dependencias.Dependencia_Modificar Dependencia = new SDP_UI.Dependencias.Dependencia_Modificar();
            SDP_DAL.Dependencia_DAL Consulta = new SDP_DAL.Dependencia_DAL();
            Dependencia.NumeroAnterior = Convert.ToUInt32(LstDependencias.SelectedValue);
            Dependencia.TxtNumeroDependencia.Text = LstDependencias.SelectedValue.ToString().Trim();
            Dependencia.TxtNombreDependencia.Text = Consulta.NombreDependencia(Convert.ToInt32(LstDependencias.SelectedValue)).Trim();
            Dependencia.Show();
            this.Close();
        }

        private void BtnDependenciasResponsableModificar_Click(object sender, EventArgs e)
        {
            SDP_UI.Dependencias.Responsable_Modificar Modificar = new SDP_UI.Dependencias.Responsable_Modificar();
            Modificar.Responsable_ID = Convert.ToUInt32(GvwDependenciasResponsable.SelectedRows[0].Cells[1].Value);
            SDP_DAL.Dependencia_DAL Nombre = new SDP_DAL.Dependencia_DAL();
            Modificar.TxtNombre.Text = Nombre.NombreResponsable(Convert.ToUInt32(GvwDependenciasResponsable.SelectedRows[0].Cells[1].Value));
            Modificar.Show();
            this.Close();
        }

        private void BtnDependenciasResponsableAgregar_Click(object sender, EventArgs e)
        {
            SDP_UI.Dependencias.Responsable_Agregar Agregar = new SDP_UI.Dependencias.Responsable_Agregar();
            Agregar.Dependencia_ID = Convert.ToUInt32(LstDependencias.SelectedValue);
            Agregar.Show();
            this.Close();
        }
    }
}
